package cn.iocoder.yudao.module.system.dal.dataobject.workorder;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 工单管理 DO
 *
 * @author 芋道源码
 */
@TableName("system_work_order")
@KeySequence("system_work_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WorkOrderDO extends BaseDO {

    /**
     * 工单id
     */
    @TableId
    private Long id;
    /**
     * 计划号
     */
    private String planNumber;
    /**
     * 入库方式：1数量2重量
     */
    private String storageMethod;
    /**
     * 下挂人员
     */
    private Integer hangingUid;
    /**
     * 上挂人员
     */
    private Integer rackUid;
    /**
     * 客户编号
     */
    private String customerId;
    /**
     * 客户名称
     */
    private String customerName;
    /**
     * 供方名称
     */
    private String supplierName;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 规格型号
     */
    private String specification;
    /**
     * 产品单价
     */
    private String productPrice;
    /**
     * 加工工艺
     */
    private String processingTechnology;
    /**
     * 预估单价
     */
    private BigDecimal estimatedUnitPrice;
    /**
     * 产品单面积
     */
    private String productArea;
    /**
     * 返工单价
     */
    private BigDecimal reworkUnitPrice;
    /**
     * 产品单重
     */
    private String productSingleWeight;
    /**
     * 计费方式
     */
    private String billingMethod;
    /**
     * 产品材质
     */
    private String productMaterial;
    /**
     * 销售收容数
     */
    private String salesFigures;
    /**
     * 是否含税
     */
    private String taxIncluded;
    /**
     * 适用挂具
     */
    private String rack;
    /**
     * 挂具数量
     */
    private Integer rackNumber;
    /**
     * 电压
     */
    private String voltage;
    /**
     * 膜厚要求
     */
    private String filmThickness;
    /**
     * 单挂数量
     */
    private Integer singleHangingQuantity;
    /**
     * 链速
     */
    private String chainSpeed;
    /**
     * 包装方式
     */
    private String packagingMethod;
    /**
     * 分组
     */
    private String subgroup;
    /**
     * 图片
     */
    private String picture;
    /**
     * 订单交期
     */
    private LocalDateTime orderDeliveryTime;
    /**
     * 白件数量
     */
    private BigDecimal whiteItemsNum;
    /**
     * 黑件数量
     */
    private BigDecimal blackItemsNum;
    /**
     * 在库数量
     */
    private BigDecimal quantityStock;
    /**
     * 期初数量（每月月初剩余的白件数量）
     */
    private BigDecimal initialQuantity;
    /**
     * 入库数量（当月）
     */
    private BigDecimal inventoryQuantity;
    /**
     * 上挂数量
     */
    private BigDecimal rackingQuantity;
    /**
     * 下挂数量
     */
    private BigDecimal hangingQuantity;
    /**
     * 成品库数量
     */
    private BigDecimal finishedProductNum;
    /**
     * 销售数量
     */
    private BigDecimal salesVolumes;
    /**
     * 成品不良数量
     */
    private BigDecimal cpDefectNum;
    /**
     * 白皮不良数量
     */
    private BigDecimal bpDefectNum;
    /**
     * 是否退回
     */
    private String shouldReturn;
    @Schema(description = "备注")
    private String remarks;


}
